Training new users on a live data management system may present a number of difficulties. A live system may be frequently updated and subject to heavy use, server re-boots, new code drops, and service outages that may make it difficult to provide a stable and consistent training environment. Application functionality and services that the system software calls may change due to software enhancements and bug fixes. These changes may make it difficult to keep training documentation current.
Service virtualization may be a way to create a stable training environment without the complications of interacting with a live system. Service virtualization is a way of emulating the behavior of specific components in heterogeneous component-based applications such as application program interface (API)-driven applications, cloud-based applications and service-oriented architectures. It can provide developers and users access to dependent system components that are needed to exercise an application under test (AUT), but are unavailable or difficult-to-access for development and testing purposes. With the behavior of the dependent components “virtualized,” testing and development may proceed without accessing the actual live components.